The present invention relates in general to computer systems and mass memory systems, and more particularly to a programmed processor controlling a number of memory modules utilizing a high-speed and wide band data bus for sequentially reading and writing data with regard to the memory modules. The invention also relates to a controller operating in conjunction with a host system, but transparent thereto, for controlling the mass memory system.
A memory system of some type is a necessity for the operation of a computer or programmed processor. In addition to the need for a scratch pad type of memory, computers are often also provided with a non-volatile media for either the archival storage of data or for the storage of large amounts of data that are periodically required by the processor. The non-volatile media for storing large amounts of data often include magnetic tape stored on reels. The magnetic tape medium is relatively inexpensive, but the reading and writing of data therefrom is slow. Indeed, when used as a back-up medium for archival purposes, it often takes several hours to provide a complete back-up of a day""s data. During the back-up operation, the host system is inaccessible to a user and thus dedicated to the archival back-up function. For this reason, the back-up function is usually carried out after business hours. Any memory failure during the normal business hours thus results in lost data, as no back-up is yet available. Moreover, although the magnetic tape medium is somewhat portable, it is bulky, heavy and can be damaged by external magnetic fields.
Another popular non-volatile storage medium comprises magnetic disks and corresponding disk drive systems. Although hard disk drives are well developed and enjoy a high degree of popularity, such a storage medium is nonetheless prone to mechanical failure, neither the hard disks nor the drive systems themselves are removable, the read and write speeds are much slower than the processing systems, and disk drive systems require a disk operating system (DOS) for organizing the data storage on the magnetic disks.
Floppy disks do indeed provide a portable medium for the non-volatile storage of data. The floppy disks themselves provide a low cost medium, but the access time to such type of disks is slower than that of the hard disk drives, the data is less densely stored thereon and it is not practical to store large amounts of data on the floppy-type disk, as many such disks would be required.
There currently are available disk drive systems that provide mirrored back-up data for archival purposes. Such systems are available from Western Digital Corporation and the Connor Peripheral Company. These systems do provide a continuous back-up of data, but such type of systems are not portable to the user, are not easily expandable to accommodate significant amounts of data, and the host computer system must be programmed to mirror the data, thus reducing the time allowed by the system to carry out its normal programming. Another arrangement for storing data on hard disk drives is known as a redundant array of inexpensive disks, i.e., RAID. A redundant array of independent disks is a disk array in which part of the storage capacity over several disks is used to store redundant information about the user data. The redundant information enables regeneration of user data in the event that one of the array""s member disks or the access path to it fails. The RAID system employs xe2x80x9cstripingxe2x80x9d which is the storage of different pieces of a portion of data across plural disks. Further, such a system employs exclusive-or parity of the bits and thus is really a fault tolerant system, and does not redundantly store data. The host computer system employing the RAID technique still requires processing time of the host and thus user applications are executed at a slower pace.
There presently exists removable media cartridges that can store upwardly of 100 megabyte-150 megabyte of data. Such systems are known as xe2x80x9cBernoullixe2x80x9d cartridges, obtainable from Cyquest, Inc. The removable cartridges are low cost, but slower than hard disk drives, less reliable, can""t be mirrored by the operating system and thus are not continuously mirrored as back-up data. The CD ROM is becoming a well embedded technology for storing upwardly of 500-700 megabytes of data. However, this non-volatile storage medium can only be read and not written, and the data transfer rate is relatively slow. A CD juke box is equipped to handle more than one CD, but such systems are nevertheless large and bulky, expensive and the media is not updatable.
A relatively new medium for the non-volatile storage of mass data is the read/write optical system, better know as a magneto-optical memory system. Although, the storage density of this type of medium is relatively large, i.e., about 1.3 gigabyte, such systems are relatively expensive, bulky and are not known as high speed access systems
Many mass storage memory systems, and particularly the disk drive systems, require a disk operating system for managing and organizing the data stored on the various sectors of a disk. Typical functions carried out by the DOS software are the allocation of appropriate sectors to particular files, the writing of files into various sectors, the compaction of gaps caused by repeated deletion of files, the maintenance of a file directory, the amount of free space left on the disk, the creation of new files, the deletion of old files, the renaming of existing files, etc. Notwithstanding the complexity of the software of a disk operating system, the mechanical movement of the head of the disk drive accounts for the majority of time in accessing data and transferring the data between the disk storage unit and the host system. Because of the overhead involved in controlling disk drives, host CPUs normally include a separate disk controller for carrying out the disk operating system, thus freeing up the CPU for other data processing functions. Hard disk controllers are conventionally available as separate integrated circuits that provide data transfer rates upwardly of 16-25 Mbit/second.
Buses initially developed for interfacing hard disk drives to host computer systems include the small computer systems interface (SCSI) bus. Since the initial development thereof, the SCSI bus has become a general-purpose standard, capable of supporting multiple processors and up to eight peripheral devices. In the SCSI bus, there are eight data lines plus a parity line, in addition to other signal lines. Data transfers in the synchronous mode can take place up to 10 Mbyte/second. Despite the high speed nature of the SCSI bus, it is not fully utilized, due primarily to the mechanical access time of the disk drive, whether it be a hard disk drive or a floppy disk drive. Therefore, unless the host CPU is busy with other data processing functions, it is necessarily involved in waiting for data from the disk drive unit.
From the foregoing, it can be seen that many of the mass storage media is capable of storing large volumes of data, but generally such mediums are slow speed devices which impair the throughput and overall efficiency of the host CPU. It can therefore be seen that a need exists for a data storage and retrieval system that is high speed, continuously mirrored for back-up purposes, is portable to the user, and is adapted for use with any general purpose computer operating with a hard disk drive unit. A further need exists for a hard disk drive replacement unit that operates transparent to the host computer, via a conventional bus, such as an SCSI bus.
Another need exists for a multiple hard disk drive system that can be read or written to supply high speed data to a host computer, via a processor that operates transparent with respect to the host system. An additional need exists for a disk drive replacement unit employing a high speed digital signal processor communicating with multiple, removable hard disk drives, via a high bandwidth data bus. Another need exists for a programmable disk drive replacement system that efficiently reorganizes the data to be read or written on the disk drive, all transparent to the host computer. Another need exists for a disk drive replacement unit that is programmed to function transparent to the host computer, and provide cache-like functions to facilitate the retrieval of data that has been used or read in the past, and thus is more likely to be read again. These needs and others are fulfilled by the many features of the present invention.
Disclosed herein is a hard disk drive replacement system employing a controller communicating with plural hard disk drive modules by way of a high bandwidth data bus. The disk drive replacement system and the many features thereof overcome many of the shortcomings and problems inherent in the prior art memory storage systems.
In accordance with the preferred embodiment of the invention, the controller includes a high speed digital signal processor that communicates with a host CPU by way of a standard SCSI bus. The digital signal processor operates transparent to the host CPU, and communicates disk drive commands via a high bandwidth bus to plural modular hard disk drive units. The bus accommodates address, control signal and data lines, where each line is associated with a latch or register on the processor side thereof and a latch or register on the slave side thereof, which side is coupled to each hard disk drive module. The digital signal processor controls the bus latches and registers, as well as each of the hard disk drive modules by separate control lines. Each main hard disk drive module is removable, and is associated with a replaceable mirror disk drive module for storing back-up data. The digital signal processor is programmed to provide a continuous update of data that exists in the main unit, to the corresponding mirror unit. Moreover, the digital signal processor can be programmed to encrypt or compress data prior to storing the same on the hard disk drive modules, or to decompress data when read from the modules and transferred to the host CPU.
The registers of the data bus connecting the controller to the disk drive units are bidirectional and can be, for example, 256 bits wide to accommodate sixteen 16-bit disk drive units. The digital signal processor, preferably a 32-bit processor, can sequentially write the bus master latches and registers on the processor side with address, control and data signals which are then transferred to the bus slave latches and registers and held until the disk drive modules are ready to accept the data. In this manner, the processor need not remain coupled to a disk drive unit until the data read/write function is completed, but rather can move to other modules with other commands, and thereafter cyclicly retrieve the data read by the disk drive module in response to a previous request. No wait states are thus required by the processor in reading or writing data to the disk drive units. A zero delay accessing of the disk drive modules can thus be achieved. This data transferral technique is especially well adapted where the plural disk drives are cyclically polled so that even though they are slower speed than the processor, a high speed transferral of data is nevertheless achieved.
In accordance with another embodiment of the invention, the latched zero delay data transfer bus can be connected to modules other than disk drive units, such as yet other processors for processing data. In this connection, the system can function as a multiple ported system, where each processor carries out its individual task.
In accordance with yet another embodiment of the invention, a number of digital signal processors are connected to the high bandwidth zero delay data transfer bus for accessing any one or more of the hard disk drive modules. In this embodiment, a bus arbitration circuit is employed to allow each processor access to the data bus in a coordinated manner.
The efficiency of the disk drive replacement system can be increased by employing various programmed routines in the high speed digital signal processor.